home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / misc / wb_41e.zip / OLECALC.WB_ < prev    next >
Text File  |  1993-08-23  |  3KB  |  97 lines

  1. CalcDialogFormat=`WWWDLGED,4.0`
  2.  
  3. CalcDialogCaption=`Calc`
  4. CalcDialogX=226
  5. CalcDialogY=25
  6. CalcDialogWidth=77
  7. CalcDialogHeight=151
  8. CalcDialogNumControls=10
  9.  
  10. CalcDialog01=`6,4,64,DEFAULT,EDITBOX,edbox,""`
  11. CalcDialog02=`6,20,64,DEFAULT,PUSHBUTTON,DEFAULT,"Decrement",1`
  12. CalcDialog03=`6,34,64,DEFAULT,PUSHBUTTON,DEFAULT,"Count Down",2`
  13. CalcDialog04=`6,48,64,DEFAULT,PUSHBUTTON,DEFAULT,"Cube",3`
  14. CalcDialog05=`6,62,64,DEFAULT,PUSHBUTTON,DEFAULT,"Factorial",4`
  15. CalcDialog06=`6,76,64,DEFAULT,PUSHBUTTON,DEFAULT,"Increment",5`
  16. CalcDialog07=`6,90,64,DEFAULT,PUSHBUTTON,DEFAULT,"Count Up",6`
  17. CalcDialog08=`6,104,64,DEFAULT,PUSHBUTTON,DEFAULT,"Square",7`
  18. CalcDialog09=`6,118,64,DEFAULT,PUSHBUTTON,DEFAULT,"Close",8`
  19. CalcDialog10=`6,132,64,DEFAULT,PUSHBUTTON,DEFAULT,"Quit",0`
  20.  
  21.  
  22. DispCalc=ObjectOpen("dispcalc.ccalc")
  23.  
  24.  
  25. :next
  26. edbox=DispCalc.Accum
  27. DispCalc.Display()
  28. select=Dialog("CalcDialog")
  29.  
  30. if edbox=="" then edbox = 0
  31. if !IsNumber(edbox) then Display(5,"Error","Edit box contents must be an integer")
  32.                     then goto next
  33. DispCalc.Accum = edbox
  34.  
  35. goto select%select%    ; Case Statement
  36.  
  37. :select1  ; Decrement
  38.      DispCalc.opnd=1
  39.      DispCalc.op=2    ; Minus
  40.      DispCalc.Eval()
  41.      DispCalc.Display()
  42.      goto next
  43.  
  44. :select2  ; Count Down
  45.      if DispCalc.Accum <= 0 then Message ("Value too small or zero",DispCalc.Accum)
  46.                            then goto next
  47.      DispCalc.opnd=1
  48.      DispCalc.op=2
  49.      DispCalc.Eval()
  50.      DispCalc.Display()
  51.      goto select2
  52.  
  53. :select3  ; Cube
  54.         DispCalc.op=3     ; 3 is code for multiply
  55.         DispCalc.opnd = edbox
  56.         DispCalc.Eval()
  57.         DispCalc.Eval()
  58.         DispCalc.Display()
  59.         goto next
  60.  
  61. :select4  ; Factorial
  62.         if DispCalc.Accum > 12 then Message("Value too large",DispCalc.Accum)
  63.                                 then goto next
  64.         DispCalc.op=3    ; Multiply
  65.         DispCalc.opnd=DispCalc.Accum
  66.         :factloop
  67.         DispCalc.opnd=DispCalc.opnd-1
  68.         if DispCalc.opnd<=1 then goto next
  69.         DispCalc.Eval()
  70.         DispCalc.Display()
  71.         goto factloop
  72.  
  73. :select5  ; Increment
  74.      DispCalc.Opnd=1
  75.      DispCalc.op=1
  76.      DispCalc.Eval()
  77.      DispCalc.Display()
  78.      goto next
  79.  
  80. :select6  ; Count Up
  81.      DispCalc.opnd=1
  82.      DispCalc.op=1
  83.      DispCalc.Eval()
  84.      DispCalc.Display()
  85.      goto select6
  86.  
  87. :select7  ; Square
  88.         DispCalc.op=3     ; 3 is code for multiply
  89.         DispCalc.opnd = edbox
  90.         DispCalc.Eval()
  91.         DispCalc.Display()
  92.         goto next
  93.  
  94. :select8  ; Close
  95.         DispCalc.Quit()
  96.         ObjectClose(DispCalc)
  97.